package rs.udd.service;

import java.io.File;

import rs.udd.exceptions.MissingMetaDataException;
import rs.udd.exceptions.UddException;
import rs.udd.model.Advertiser;
import rs.udd.service.dto.advert.AdvertDto;
import rs.udd.service.dto.advertiser.AdvertiserEditDto;
import rs.udd.service.dto.advertiser.AdvertiserRegisterDto;
import rs.udd.service.dto.user.UserPasswordEditDto;

public interface AdvertiserService extends AbstractService<Advertiser> {
	
	public String register(AdvertiserRegisterDto dto) throws UddException;

	public Advertiser edit(AdvertiserEditDto dto) throws UddException;
	
	public boolean editPassword(UserPasswordEditDto dto) throws UddException;

	public AdvertDto uploadAdvert(AdvertDto advertDto, File file) throws MissingMetaDataException, UddException;

	public boolean uploadAdvertAgain(File file, AdvertDto advertDto) throws UddException;
	
	public Advertiser getLoggedAdvertiser();
	
	public Advertiser findByIdForView(Long id);
}
